package com.aro.model;

import java.util.Map;

import com.aro.controler.CtrlPersona;
import com.aro.controler.IControlable;
import com.aro.utils.MenorDeEdadException;

public class Persona implements IActualizable{
	
	private String nombre;
	private String apellido;
	private int edad;
	private IControlable controlador;
	
	public Persona(IControlable controlador){
		this.controlador = controlador;
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public int getEdad() {
		return edad;
	}
	public void setEdad(int edad) {
		if(edad > 18){
			this.edad = edad;
		}else{
			throw new MenorDeEdadException("Es Menor de Edad");
		}
	}
	
	@Override
	public void save(Map<String, String> data) throws IllegalArgumentException{
		this.setNombre(data.get(CtrlPersona.NAME));
		this.setApellido(data.get(CtrlPersona.SURNAME));
		this.setEdad(Integer.valueOf(data.get(CtrlPersona.AGE)));
		controlador.setReturningMessage("Los datos se guardaron");		
	}
	
	
}
